home *** CD-ROM | disk | FTP | other *** search
- *****Listing 1*****
-
- #include<stdio.h>
-
- extern alloc_memory(), open_files(), init_screen(), init_printer(),
- init_vars(), init_commport();
-
- char * memblock;
- #define BLOCK_SIZE 4096
- #define MEM_ALLOCATION_ERROR 2001
-
- int (*init_funcs[])() = {
- alloc_memory, /* Each of these initialization functions */
- open_files, /* returns a value of 0 if it executed OK. */
- init_screen, /* If an error occurred ,it returns an error */
- init_printer, /* code that is unique to itself, such as */
- init_vars, /* MEM_ALLOCATION_ERROR. The error is */
- init_commport, /* handled by the routine that called */
- NULL /* initialize() */
- };
-
- initialize()
- {
- int i,errstat;
- for(i = 0 ; init_funcs[i] != NULL ; ++i){
- if(errstat = (*init_funcs[i])()){
- return(errstat);
- }
- }
- return(0);
- }
-
- alloc_memory()
- {
- char * malloc();
- if(!(memblock = (char *)malloc(BLOCK_SIZE))){
- return(MEM_ALLOCATION_ERROR);
- }
- return(0);
- }
-
- /* The rest of the initialization functions are setup like alloc_memory() */
-